--------------------------------
-- Description
--------------------------------

The Discoverant SimApi connects to a Discoverant server.

See the User Guide for a list of features and installation instructions.

--------------------------------
-- Version 2.3.1
--------------------------------
2022-05-10

* Fix bug that prevented aggregated batch nodes from working

--------------------------------
-- Version 2.3.0
--------------------------------
2021-11-16

* New feature: Optional setting BatchIDField that can be used when you want to read batch data
  or discrete data for batches in another SimApi's batch node. This requires that you
  create a 'derived paramameter' in Discoverant that provides the same batch ID as used in the other SimApi.
  This derived parameter must be of text/string type (cannot be numerical).
* Fix bug that prevented AG paths with single quotation characters from working

--------------------------------
-- Version 2.2.2
--------------------------------
2020-12-01

* Fixed bug reading batch data for numerical values.

--------------------------------
-- Version 2.2.1
--------------------------------
2017-09-29

* Updated documentation.

--------------------------------
-- Version 2.2.0
--------------------------------
2017-09-18

* New feature: support for multiple instances of the SimApi on the same SIMCA-online server, connecting to different databases.
* New feature: support for aggregating AG paths into one batch node. This is handy since only one unit per AG path is allowed.
* Fixed bug when reading AG_D_DATA as process data.
* Added intro text to discrete/replicate data and a cross reference to SIMCA-online discrete data retrieval.pdf
  which provides a good introduction to discrete data.

--------------------------------
-- Version 2.1.0
--------------------------------
2014-02-24

* Added support for replicate data (AG_R_DATA) i.e. what Umetrics calls discrete data.

--------------------------------
-- Version 2.0.5
--------------------------------
2013-12-16

* Added support for AG_D_DATA i.e. batch data, such as start and end time.

--------------------------------
-- Version 2.0.4
--------------------------------
2013-09-23

* Fixed bug that returned a SimApi error and logged "Invalid cursor state" in the SimApi's log file when
  a SQL query didn't return any rows. This also meant that execution was incorrectly stopped in SIMCA-online 
  when this happened. The corrected SimApi now returns missing values (no data) as expected.

* Fixed a bug that crashed the SimApi when reading historical data in sparse data in some cases. This
  occurred when requesting more observations from the SimApi than was available in the data source, 
  e.g. when reading high frequency data from a sparse data source.

* Implemented reading nvarchar columns from the database.
 
--------------------------------
-- Version 2.0.3
--------------------------------
2013-09-10

* Fixed a bug in connectionOpen() that caused the SimApi to exit instead of logging the error and returning an error code.
* Improved the error logging so that the SimApi now logs detailed error messages to the SimApi log file.

--------------------------------
-- Version 2.0.2
--------------------------------
2013-08-19

* Improved User Guide.
* Fixed duplicate tag names: AG_C_DATA will only contain offset groups with names, AG_D_DATA will only contain offset groups without names.

--------------------------------
-- Version 2.0.1
--------------------------------
2012-11-13

* New feature: Automatically reconnect to the database after communication problems.
  Previously a lost connection with the database was only reestablished when the SIMCA-online service was restarted.
  This has been changed so that the database connection is closed on each error. Then on the next database call
  an attempt will be made to reopen the connection.
  
* Fixed a bug that prevented the truncation of the log file when it reached the Log File Size
  set in the configuration.
  
* Automatically increments build number on each build.

* Added digital signature to the built DLL.

--------------------------------
-- Version 2.0.0.0
--------------------------------
* First implementation
